package com.sxj.corejava.code12_线程;

import java.util.Scanner;

/**
 * @author 石小俊
 * @date 2025年02月24日
 */
public class Test04_生命周期 {

    public static void main(String[] args) {
        OtherRunnable or = new OtherRunnable();
        Thread t1 = new Thread(or, "线程1");
        t1.start();
        // 使用main线程
        for (int i = 0; i < 100; i++) {
//            if(i == 10){
//                try {
//                    // 当i执行到10的时候,t1线程插入进来了
//                    // 此时必须等待t1执行完毕之后才会执行当前线程
//                    t1.join();
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//            }
            System.out.println(Thread.currentThread().getName() + "正在打印数字:" + i);
        }
        // main线程执行结束之后打断t1的休眠
        // 此时t1会立刻结束休眠,但是这种情况属于非正常情况
        t1.interrupt();
    }

}

class OtherRunnable implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            if (i == 10) {
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
//                Scanner sc = new Scanner(System.in);
//                String s = sc.next();
            }
            System.out.println(Thread.currentThread().getName() + "正在打印数字:" + i);
        }
    }
}
